package roborally.program;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import roborally.program.command.Command;

import be.kuleuven.cs.som.annotate.Basic;

/**
 * The general class that handles programs that robots can execute.
 * Such programs can be loaded from disks as text files, read and translated to a java-representation,
 * executed and saved back to the disk.
 * 
 * @author Molderez Tom, 2de bach Ingenieurswetenschappen Computerwetenschappen-Elektrotechniek and Reniers Jorn, 2de bach Ingenieurswetenschappen Werktuigkunde-Computerwetenschappen
 * @version 1.0
 *
 */
public class Program {
	
	/**
	 * Creates a new program.
	 */
	public Program(Collection<Command> commands){
	}
	
	/**
	 * Returns the java-representation of this program.
	 * It is represented as a list of command-objects that represent the different commands.
	 */
	@Basic
	public List<Command> getTranslation(){
		return null;
	}
		
	/**
	 * A method that executes the program.
	 */
	public void execute(){
		
	}
	
	/**
	 * A method that returns a String-representation of this program.
	 */
	@Override
	public String toString(){
		return null;
	}
	

}
